{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 8,
   "source": [
    "import tensorflow as tf\r\n"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "source": [
    "model = tf.keras.Sequential()"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "source": [
    "model.add(tf.keras.layers.InputLayer((28,28,1)))"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "source": [
    "model.add(tf.keras.layers.Dense(100,activation='relu'))\r\n",
    "model.add(tf.keras.layers.Dense(32,activation='relu'))\r\n",
    "model.add(tf.keras.layers.Dense(16,activation='relu'))\r\n",
    "model.add(tf.keras.layers.Dense(1,activation='sigmoid'))"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "source": [
    "#model.build((None,28,28,1))"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "source": [
    "model.summary()"
   ],
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "Model: \"sequential\"\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "dense (Dense)                (None, 28, 28, 100)       200       \n",
      "_________________________________________________________________\n",
      "dense_1 (Dense)              (None, 28, 28, 32)        3232      \n",
      "_________________________________________________________________\n",
      "dense_2 (Dense)              (None, 28, 28, 16)        528       \n",
      "_________________________________________________________________\n",
      "dense_3 (Dense)              (None, 28, 28, 1)         17        \n",
      "_________________________________________________________________\n",
      "input_2 (InputLayer)         multiple                  0         \n",
      "_________________________________________________________________\n",
      "dense_4 (Dense)              (None, 28, 28, 100)       200       \n",
      "_________________________________________________________________\n",
      "dense_5 (Dense)              (None, 28, 28, 32)        3232      \n",
      "_________________________________________________________________\n",
      "dense_6 (Dense)              (None, 28, 28, 16)        528       \n",
      "_________________________________________________________________\n",
      "dense_7 (Dense)              (None, 28, 28, 1)         17        \n",
      "=================================================================\n",
      "Total params: 7,954\n",
      "Trainable params: 7,954\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n"
     ]
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "source": [],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "source": [
    "model_input = tf.keras.layers.Input(shape=(28,28,1))"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "source": [
    "img = model(model_input) "
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "source": [
    "img"
   ],
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "<tf.Tensor 'sequential/dense_7/Sigmoid:0' shape=(None, 28, 28, 1) dtype=float32>"
      ]
     },
     "metadata": {},
     "execution_count": 14
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "source": [
    "x = tf.random.normal((2,28,28,1))\r\n",
    "a = model(x)\r\n",
    "a"
   ],
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "<tf.Tensor: shape=(2, 28, 28, 1), dtype=float32, numpy=\n",
       "array([[[[0.4868398 ],\n",
       "         [0.48718512],\n",
       "         [0.48695615],\n",
       "         ...,\n",
       "         [0.48596364],\n",
       "         [0.48658803],\n",
       "         [0.48642477]],\n",
       "\n",
       "        [[0.48663184],\n",
       "         [0.48691818],\n",
       "         [0.48709834],\n",
       "         ...,\n",
       "         [0.4867825 ],\n",
       "         [0.48614585],\n",
       "         [0.48703057]],\n",
       "\n",
       "        [[0.4871434 ],\n",
       "         [0.48644748],\n",
       "         [0.4866132 ],\n",
       "         ...,\n",
       "         [0.48662993],\n",
       "         [0.4868003 ],\n",
       "         [0.4863189 ]],\n",
       "\n",
       "        ...,\n",
       "\n",
       "        [[0.48712614],\n",
       "         [0.48652697],\n",
       "         [0.48705363],\n",
       "         ...,\n",
       "         [0.48572364],\n",
       "         [0.48605558],\n",
       "         [0.48667043]],\n",
       "\n",
       "        [[0.48606628],\n",
       "         [0.4864943 ],\n",
       "         [0.4864376 ],\n",
       "         ...,\n",
       "         [0.48719397],\n",
       "         [0.48715377],\n",
       "         [0.48685223]],\n",
       "\n",
       "        [[0.48674393],\n",
       "         [0.4868088 ],\n",
       "         [0.4864699 ],\n",
       "         ...,\n",
       "         [0.4867161 ],\n",
       "         [0.4865239 ],\n",
       "         [0.48682532]]],\n",
       "\n",
       "\n",
       "       [[[0.48684558],\n",
       "         [0.48700425],\n",
       "         [0.4870962 ],\n",
       "         ...,\n",
       "         [0.4871711 ],\n",
       "         [0.48716366],\n",
       "         [0.4867575 ]],\n",
       "\n",
       "        [[0.48707622],\n",
       "         [0.48660097],\n",
       "         [0.48650724],\n",
       "         ...,\n",
       "         [0.48659033],\n",
       "         [0.48677802],\n",
       "         [0.4866472 ]],\n",
       "\n",
       "        [[0.48642832],\n",
       "         [0.48692894],\n",
       "         [0.48620734],\n",
       "         ...,\n",
       "         [0.48682585],\n",
       "         [0.48622635],\n",
       "         [0.48682877]],\n",
       "\n",
       "        ...,\n",
       "\n",
       "        [[0.48707086],\n",
       "         [0.48696616],\n",
       "         [0.48707676],\n",
       "         ...,\n",
       "         [0.48718914],\n",
       "         [0.48715353],\n",
       "         [0.4870013 ]],\n",
       "\n",
       "        [[0.4869127 ],\n",
       "         [0.48663533],\n",
       "         [0.4869118 ],\n",
       "         ...,\n",
       "         [0.4868966 ],\n",
       "         [0.4867541 ],\n",
       "         [0.4870138 ]],\n",
       "\n",
       "        [[0.48707283],\n",
       "         [0.486763  ],\n",
       "         [0.4866829 ],\n",
       "         ...,\n",
       "         [0.4864887 ],\n",
       "         [0.4859422 ],\n",
       "         [0.48628137]]]], dtype=float32)>"
      ]
     },
     "metadata": {},
     "execution_count": 16
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "source": [
    "tf.keras.utils.plot_model(model,to_file=r'F:\\PycharmOut\\ML\\Tensorflow\\Test\\A.png',show_shapes=True)"
   ],
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "image/png": "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",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {},
     "execution_count": 7
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "source": [
    "model1 = tf.keras.Sequential()\r\n",
    "model1.add(tf.keras.layers.InputLayer((28,28,1)))\r\n",
    "model1.add(tf.keras.layers.Dense(128,activation='relu'))\r\n",
    "model1.compile(optimizer='adam',loss='mse')\r\n"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "source": [
    "model1.summary()"
   ],
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "Model: \"sequential_1\"\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "dense_2 (Dense)              (None, 28, 28, 128)       256       \n",
      "=================================================================\n",
      "Total params: 256\n",
      "Trainable params: 256\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n"
     ]
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "source": [],
   "outputs": [],
   "metadata": {}
  }
 ],
 "metadata": {
  "orig_nbformat": 4,
  "language_info": {
   "name": "python",
   "version": "3.7.1",
   "mimetype": "text/x-python",
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "pygments_lexer": "ipython3",
   "nbconvert_exporter": "python",
   "file_extension": ".py"
  },
  "kernelspec": {
   "name": "python3",
   "display_name": "Python 3.7.1 64-bit ('KerasEnv': virtualenv)"
  },
  "interpreter": {
   "hash": "49709926ca079d7fc3208f0b0481edbe733516c473689c5f1439ce0f2246de88"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}